SamVS Change History (from V5.144) ============================== V5.150 (dlinkP16 V5.150) - New: Integrated Help System (Info-Tab) - New(C): Auto Documentation C-Projects from sourcecode Brief descriptions may be added like this /*************************************************************************** ;!Function: void SomeFunction(void) ;!Brief: Some brief explanation what this function does. */ //!Function: void SomeFunction(void) //!Brief: Some brief explanation what this function does. - New(Link): Dependency log lists unreferenced symbols (including descendants) - New(C/Asm): Auto-Completion for known API functions - New(Build): MakeSingle properly annotates errors in source code - New(Link): Systables supporting new sort options: - unique: Require unique ID following unique keyword, sorted by symbol name - word: Sorts table by first WORD - long: Sorts table by first DWORD (C-style mixed endian) - string: Sorts table expecting entries starting with literal string - stringptr: Sorts table expecting entries starting with CHAR_FAR_P - New(ImageImport): Rudimentary pixel editor - New(ImageImport): ImageImporter tool may be opened with code selected If the selected block starts with a label and matches an image header, the whole image is selected and imported. If the selected block is around a font definition (label and some header lines), the whole font will be selected and opened in ImageImporter. If the selection can not be interpreted as an image or font, an error is displayed. - New(Trace): Support to send strings into the trace log (TRACE_STR macros) - New(C): New Flag _SAMVS_BUILD_C_DISABLE_RCALL_ When specified, RCALL/XRCALL is disabled for C-Files to ensure that in larger projects no cross-segment function calls may happen You may specify _SAMVS_BUILD_C_DISABLE_RCALL_=0 to disable this limitation - Mod(Build): Overflow on internal memories now flagged as Errors - New(C): New Flag _SAMVS_BUILD_ACCEPT_CODE_OVERFLOW_ demote error caused by CODE overflow back to a warning and allow firmware execution - New(Build): Hint displayed on CODE overflow error: !W Overflow on internal memory detected! !W Please check your project settings !W - increase CODE size on "Chip-Features" tab !W - consider enabling CACHE mode on "General" tab - Mod: Disabled non-functional Print option in menu - Mod(C): Constant String Arrays prefixed with szUpper_ will be relocated into CONSTUPPER: const char szUpper_SomeText[] = "This text will be moved into CONSTUPPER segment"; - Mod(Asm): Reworked and consolidated assembler codebase for enhanced performance - Mod(Build): Only re-link when linker changes - Mod(Optim): Adding inline optimization for _rd/_wrxtmemEx/32/DwOff group - Mod(Optim): Adding inline optimization for _blxi/_sblxi/_bstxi/Off group - Mod(Optim): Adding inline optimization for_lxi24/_stxi24 - Mod(Optim): Enhanced optimization for _rdlongShort/Far - Mod(Asm): $embed supports quotes around filename (supporting spaces) - Mod(Trace): Reworked Trace Processing for performance (needs to be faster than com-speed) - Mod(Trace): Trace list now holds 10000 entries (was 2500) - Mod(Settings): Binary version number supports one suffix character (like 1.23b) There should be no impact on existing projects. The additional char is placed into the already existing trailing zero WORD. However, applications which already use _crtP16_AppVersion data as a string, will now see the version suffix - Mod(Asm): No Wrapper generated for LFUNC labels containing $ - Mod(Asm): Decorated symbols also generated for LFUNCs containing $ supporting prototyped LCALLs in assembler for non-C callable functions - Fix(Prj): Internal Project List updated after adding files to a tree node to maintain proper link order - Fix(Optim): Optimizer may generate JAES/JBES on non SAM5xxx platforms (probably since V5.132) - Fix(Optim): _bstxi performing blxi instead of bstxi - Fix(Asm): $include does not work properly with double quotes - Fix(Asm): SYMBOL instruction generated obscure error message - Fix(Asm): Invalid binary header generated for pure Assembler Projects on SAM5xxx platform - Fix(Debug): Switching to Source from line in P24 code which does not contain code, crashes SamVS - Fix(Build): Build may fail if number of compiled project files is a multiple of 16 - Fix(Edit): Potential crash after detecting externally modified files - Fix(Link): Rare linker crash while consolidating sorted system tables (picking wrong fixup location) - Fix(FileSave): No Warning issued if file could not be saved upon user request (CTRL+S) Integrated Help is supported for all libraries with version number V5.150 and up. libBwBlt ======= - Mod: ScreenWidth no longer required to be power of two on SAM5xxx platform libCP16 ====== - Fix: _bsearch32Ex would fail if comparison always returns -1 (needle smaller) libFX5000 ======== - Gain process: fix for EG delta time update in case of increasing gain - VReverb module: fix for Chorus_DelayTime parameter update libGM2S ======= - Fix: correction for DrumInstruExist and GetDrumInstruName functions (ASV table size) libMIDI ====== - Fix: _MIDI_CtxInitCommonCallback invokes MIDI Note OFF event function for MIDI Note ON libScan ====== - Fix: _Scan_SetLedRow kills blink pattern (as mask-bits were not combined with already set mask) libSeq ===== - New: _Beat_GetTickInfo, _Beat_GetTickPosition..., Beat TickStamp functions - Fix: Starting playback from a new file after aborting a previous file may play tracks on wrong time positions (delta not cleared) libSys ===== - New: _Sys_AllocP24, _Sys_LoadP24, _Sys_UnloadP24, _Sys_StartP24, _Sys_StopP24, _Sys_PauseP24, _Sys_ResumeP24 More comforable use on SAM5xxx maintaining P24 segment in R5 so DR2 may be used pointing to P24 - New: _Sys_RouteInputP24, _Sys_RouteOutputP24 - New: updated _Sys_Heap functions - New: _lxi24/_stxi24 - New: _lmemset32/_lmemclr32 - New: _rd/_wrxtmemEx/32/DwOff stubs for inline generation - New: _blxi/_sblxi/_bstxi/Off stubs for inline generation - New: _SysTab_LongId functions - Fix: _SysTab_Find functions would fail if null key was provided - Fix: _LoadP24 writes one excess 24 Bit WORD if code has an odd size. - Fix: _bstxi generating blxi instead libTrace ======= - Fix: Removed -BP offset for SamVS 5.100+ (bogus +BP offset no longer added for LX/STX instructions!)